This invention relates to a system that represents and reasons with knowledge to maximize information about users and more particularly to an automated user profiling scheme.
Referring to FIG. 1, a traditional prior art knowledge-based system 10 has three components: a knowledge base 16, a data tank 12, and an inference engine 14. The knowledge base 16 captures concepts and relationships among concepts in a standard symbolic framework. The data tank 12 (often called a "working memory") stores instantiated concepts. For example, the knowledge base 16 represents a concept "temperature" while the data tank 12 stores the fact that the temperature is currently 25 degrees Celsius. The inference engine 14 utilizes the relationships among concepts in the knowledge base 16 and the facts stored in the data tank 12 to reason (make inferences) about the domain covered by the knowledge-based system 10.
A traditional knowledge-based system 10 often operates as an autonomous problem-solving agent. Sometimes, the traditional knowledge-based system 10 is operated by a user, and during the process of reasoning about the domain, an inference engine 14 may ask questions of the user. The particular questions are chosen as a result of the inference engine 14 "blocking" for lack of a particular fact. Hence questions asked of a user are a side effect of lacking information about the domain required to continue the inferencing process.
Thus, a traditional knowledge-based system 10 represents and reasons with knowledge, and it focuses on problem-solving where the user (if present) is merely an adjunct to or resource for the problem-solving process. A traditional knowledge-based system 10 does not focus on a specific goal of gathering extensive information about the user and keeping that information up-to-date (i.e., "user profiling"). Accordingly, a need remains for an automated profiling system that intelligently questions users in order to maximize up-to-date information about them.